home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 7
/
Amiga Format AFCD07 (Dec 1996, Issue 91).iso
/
serious
/
shareware
/
programming
/
ixemul-complete
/
ixemul
/
library
/
ix_settings.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-08-13
|
2KB
|
63 lines
#define _KERNEL
#include <ixemul.h>
#include "version.h"
long ix_get_gmt_offset(void)
{
return ix.ix_gmt_offset;
}
void ix_set_gmt_offset(long offset)
{
ix.ix_gmt_offset = offset;
}
struct ix_settings *ix_get_settings(void)
{
static struct ix_settings settings;
settings.version = IX_VERSION;
settings.revision = IX_REVISION;
settings.flags = ix.ix_flags;
settings.membuf_limit = ix.ix_membuf_limit;
settings.red_zone_size = ix.ix_red_zone_size;
settings.fs_buf_factor = ix.ix_fs_buf_factor;
settings.network_type = ix.ix_network_type;
return &settings;
}
struct ix_settings *ix_get_default_settings(void)
{
static struct ix_settings default_settings =
{
IX_VERSION,
IX_REVISION,
ix_translate_slash | ix_no_insert_disk_requester | ix_allow_amiga_wildcard,
0, /* membuf_limit */
0, /* red_zone_size */
64, /* fs_buf_factor */
IX_NETWORK_AUTO /* network_type */
};
return &default_settings;
}
void ix_set_settings(struct ix_settings *settings)
{
if (ix.ix_flags & ix_do_not_flush_library)
if (!(settings->flags & ix_do_not_flush_library))
ix.ix_lib.lib_OpenCnt--;
if (!(ix.ix_flags & ix_do_not_flush_library))
if (settings->flags & ix_do_not_flush_library)
ix.ix_lib.lib_OpenCnt++;
ix.ix_flags = settings->flags;
if (settings->membuf_limit >= 0)
ix.ix_membuf_limit = settings->membuf_limit;
if (settings->red_zone_size >= 0)
ix.ix_red_zone_size = settings->red_zone_size;
if (settings->fs_buf_factor > 0)
ix.ix_fs_buf_factor = settings->fs_buf_factor;
if (settings->network_type >= 0 && settings->network_type < IX_NETWORK_END_OF_ENUM)
ix.ix_network_type = settings->network_type;
}